DataSource for Entity Framework for WinForms
CreateIndex<T,TKey>(IObservableSource<T>,Expression<Func<T,TKey>>,Boolean,CultureInfo) メソッド

C1.LiveLinq.4.5.2 アセンブリ > C1.LiveLinq.Indexing 名前空間 > IndexingAlgorithm クラス : CreateIndex<T,TKey>(IObservableSource<T>,Expression<Func<T,TKey>>,Boolean,CultureInfo) メソッド
インデックスを作成するコレクションの要素の型。
インデックスキーの型。
インデックスを作成するコレクション。
インデックスのキーセレクタ式。KeySelector を参照してください。
このインデックスで使用されているキーがインデックス付きのコレクションに対する一意のキーかどうかを指定します。
インデックス内の文字列を比較するために使用するロケール情報(デフォルトは CultureInfo.CurrentCulture)。
新しいインデックスを作成します。
シンタックス
'宣言
 
Public Function CreateIndex
    (Of T,TKey)( _
   ByVal source As IObservableSource(Of T), _
   ByVal keySelector As System.Linq.Expressions.Expression(Of Func(Of T,TKey)), _
   ByVal keyIsUnique As System.Boolean, _
   ByVal locale As System.Globalization.CultureInfo _
) As Index(Of T,TKey)
public Index<T,TKey> CreateIndex<T,TKey>( 
   IObservableSource<T> source,
   System.Linq.Expressions.Expression<Func<T,TKey>> keySelector,
   System.bool keyIsUnique,
   System.Globalization.CultureInfo locale
)

パラメータ

source
インデックスを作成するコレクション。
keySelector
インデックスのキーセレクタ式。KeySelector を参照してください。
keyIsUnique
このインデックスで使用されているキーがインデックス付きのコレクションに対する一意のキーかどうかを指定します。
locale
インデックス内の文字列を比較するために使用するロケール情報(デフォルトは CultureInfo.CurrentCulture)。

型パラメータ

T
インデックスを作成するコレクションの要素の型。
TKey
インデックスキーの型。

戻り値の型

新しいインデックス。
解説

通常、このメソッドを使用する必要はありません。インデックスは、通常、 IndexCollection.Add の呼び出しによってコード内で作成されるか、 Indexed ヒントを使用することによって LINQ クエリー内で適用されます。 このメソッドは、インデックスのコレクションを維持するオーバーヘッドなしでコレクションのインデックスを作成する必要がある場合や ソースが維持しているインデックスのコレクションとは異なるインデックスが必要な場合などの特別な状況でのみ使用されます。 インデックス作成の標準的な方法とは異なり、この方法はインデックスオブジェクトを作成してソースにアタッチするだけ (そのためソースが変更されるとソースと自動的に同期されます)ですが、作成されるインデックスは IndexCollection<T> には追加されません。

一意のインデックスは、一意でないインデックスと比較して、メモリ占有量が少なく、パフォーマンスが向上します(ただし劇的な差はありません)。 そのため、一意のキーでは、対応するインデックスを一意に指定することをお勧めします。 ただし、インデックス付きのコレクションには一意性の制約の制限があるので、キーが実際に一意であることを確認してください。 一意性に違反しているインデックス付きのコレクションを変更しようとすると、System.InvalidOperationException が生成されます。

参照

IndexingAlgorithm クラス
IndexingAlgorithm メンバ